{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "3b6c50a4-d93f-4a7e-b4e9-acbfe2517939",
   "metadata": {},
   "source": [
    "# PWM Generator\n",
    "\n",
    "The PSLab's analog waveform generator can output arbitrary functions at frequencies up to 5 kHz. The PSLab can output square waves at much higher frequencies, up to 8 MHz. It can generate up to four such signals simultaneously with different phases and duty cycles, though they all share the same frequency. Such signals are often used to control peripheral devices such as motors using a technique called Pulse Width Modulation (PWM).\n",
    "\n",
    "Let's start by generating a single square wave and looking at it through the oscilloscope. Connect SQ1 to CH1."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "4aefa66c-ad10-4ce2-b53b-6c4f366a2b3a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7fa93d3785d0>]"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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WHvd+vp65ebmqqqqKmp/jj3a20j73C/a20j73C/a2xjO9hlj1NDQoJycHMXFBT+TIuJ7LOLi4tS/f/+wvX5KSkpUflg+K9rbSPvcL9rbSPvcL9rbGK72XWhPRRtO3gQAANYQLAAAgDVREyy8Xq/mzZsnr9frdClhE+1tpH3uF+1tpH3uF+1t7A7ti/jJmwAAIHpFzR4LAADgPIIFAACwhmABAACsIVgAAABroiZYLFiwQIMGDVJSUpLy8vK0ceNGp0tq55e//KU8Hk/AbcSIEf7lp0+fVmFhoS6//HL17t1b3/jGN3T48OGA19i/f7+mT5+uXr16KTMzUw899JDOnj0bsE5JSYnGjx8vr9eroUOHavHixWFr09q1azVjxgzl5OTI4/HotddeC1hujNEvfvEL9evXTz179lRBQYE++uijgHWOHTummTNnKiUlRWlpafr+97+vxsbGgHW2bdumm266SUlJScrNzdVjjz3WrpZXXnlFI0aMUFJSksaMGaM333wz7O377ne/265Pp06d6pr2FRcX67rrrlNycrIyMzN12223qaKiImCdSH4ubY/ji2nfpEmT2vXhPffc44r2SdLChQs1duxY/4RI+fn5Wr58uX+5m/vvYtrn9v473/z58+XxeDRnzhz/Y67rQxMFlixZYhITE82zzz5rduzYYWbPnm3S0tLM4cOHnS4twLx588yoUaNMdXW1//bJJ5/4l99zzz0mNzfXrFq1ymzevNnccMMN5vOf/7x/+dmzZ83o0aNNQUGB2bp1q3nzzTdNRkaGKSoq8q+zd+9e06tXLzN37lyzc+dO8/TTT5v4+HizYsWKsLTpzTffND/96U/Nq6++aiSZpUuXBiyfP3++SU1NNa+99pp5//33zVe/+lUzePBgc+rUKf86U6dONePGjTPr168377zzjhk6dKi58847/ct9Pp/JysoyM2fONOXl5ebFF180PXv2NIsWLfKv895775n4+Hjz2GOPmZ07d5qf/exnpkePHmb79u1hbd+sWbPM1KlTA/r02LFjAet05/ZNmTLFPPfcc6a8vNyUlZWZW265xQwYMMA0Njb614nU5zIc4/hi2vfFL37RzJ49O6APfT6fK9pnjDF///vfzbJly8yHH35oKioqzKOPPmp69OhhysvLjTHu7r+LaZ/b+++zNm7caAYNGmTGjh1rHnjgAf/j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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import pslab\n",
    "psl = pslab.ScienceLab()\n",
    "psl.pwm_generator.generate(channels=\"SQ1\", frequency=50, duty_cycles=0.5)\n",
    "x, y = psl.oscilloscope.capture(channels=\"CH1\", samples=10000, timegap=4)\n",
    "plt.plot(x, y)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ca986017-016f-4ac7-bdb7-9c57abd7db50",
   "metadata": {},
   "source": [
    "The width of each pulse's on-period can be controlled with the `duty_cycles` parameter."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "f0eb7600-4f61-4869-8e12-0875a4e0ab1a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7fa93ed46850>]"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "psl.pwm_generator.generate(channels=\"SQ1\", frequency=50, duty_cycles=0.75)\n",
    "x, y = psl.oscilloscope.capture(channels=\"CH1\", samples=10000, timegap=4)\n",
    "plt.subplot(1, 2, 1)\n",
    "plt.plot(x, y)\n",
    "\n",
    "psl.pwm_generator.generate(channels=\"SQ1\", frequency=50, duty_cycles=0.1)\n",
    "x, y = psl.oscilloscope.capture(channels=\"CH1\", samples=10000, timegap=4)\n",
    "plt.subplot(1, 2, 2)\n",
    "plt.plot(x, y)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1b0c7db5-a4b2-4c83-adbd-2b26d151757b",
   "metadata": {},
   "source": [
    "Let's add another channel. Connect SQ2 to CH2."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "ef693918-e735-4c91-be4f-cdf6cd1b75f8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7fa93d019fd0>,\n",
       " <matplotlib.lines.Line2D at 0x7fa93d01a2d0>]"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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fczChQvNqlWrTGFhoSksLAy//uQtRVdccYUpKioy8+fPNz169GjxlqL77rvPbN682TzxxBNRvd20urrarF271qxdu9ZIMo899phZu3at2b17tzGm6XbTzMxM8+qrr5p169aZa6+9tsXbTb/whS+Y5cuXmw8++MAMHjy42e2YFRUVJjc313z3u981GzZsMHPnzjWpqamn3Y6ZkJBg/uu//sts3rzZPPTQQ47cjnmm+lVXV5t7773XLF261BQXF5t33nnHjB492gwePNjU1dV5on633367ycjIMIsWLWp2u97Ro0fDy3TWfhmNdtxW/bZv325+9rOfmVWrVpni4mLz6quvmgEDBphLL73UE/UzxpgHHnjALF682BQXF5t169aZBx54wAQCAfOPf/zDGOPt7ddW/WzYfi35/J0uXtuGVgQLY4x5/PHHTZ8+fUxSUpIZN26cWbZsmdtFOs0NN9xgevbsaZKSkkyvXr3MDTfcYLZv3x5+/tixY+aHP/yhycrKMqmpqeb66683Bw4caLaOXbt2mcmTJ5uUlBSTnZ1t7rnnHtPQ0NBsmffee8+cf/75JikpyQwYMMA888wzUavTe++9ZySd9pg2bZoxpumW03//9383ubm5JhgMmgkTJpitW7c2W8fhw4fNjTfeaLp27WrS09PNTTfdZKqrq5st8/HHH5uLL77YBINB06tXLzNr1qzTyvLCCy+Yc845xyQlJZlhw4aZN954I6r1O3r0qLniiitMjx49TGJiounbt6+55ZZbTmuEsVy/luomqdk+05n7pdPtuK367dmzx1x66aWmW7duJhgMmkGDBpn77ruv2ecgxHL9jDHm5ptvNn379jVJSUmmR48eZsKECeFQYYy3t19b9bNh+7Xk88HCa9uQr00HAACO8fwcCwAAEDsIFgAAwDEECwAA4BiCBQAAcAzBAgAAOIZgAQAAHEOwAAAAjiFYAAAAxxAsAACAYwgWAADAMQQLAADgGIIFAABwzP8HTOTpf1P4b+0AAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "psl.pwm_generator.generate(channels=2, frequency=50, duty_cycles=0.5, phases=0.25)\n",
    "x, y, z = psl.oscilloscope.capture(channels=2, samples=5000, timegap=8)\n",
    "plt.plot(x, y, x, z)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "55b5ac47-4a30-4805-b5ed-79f2d5a59b9c",
   "metadata": {},
   "source": [
    "Like the analog waveform generator, the PWM generator's output signals can be phase-shifted. Unlike the analog waveform generator, the phase shift is given as a ration between zero and one instead of degrees. The `phases` parameter takes either a single value, in which case each of the four output channels are offset from each other by that value, or a list of values with one value per output channel.\n",
    "\n",
    "While the oscilloscope has four channels, only CH1 and CH2 has a range greater than the PWM generator's output. Therefore, we cannot use the oscilloscope to observe more than two of the PWM generator's channels at once. Another limitation of using the oscilloscope to look at digital signals is the limited bandwidth. Let's see what happens when we try to look at square waveforms with higher frequencies."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "fd5bd6d1-45ba-4577-9a63-abcdda1c3fd3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7fa93cecc090>]"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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NmaZ9957TzfeeKOSk5NVUFCgH//4x/H+1XqV4uJiXXPNNUpLS9OAAQN09913q6ysLGaZhoYGzZ8/X1dccYX69u2rL3zhCzp27FjMMgcPHtSsWbOUmpqqAQMG6Fvf+paam5tjllm9erUmTZqkYDCo4cOHa/HixfH+9XqNRYsWafz48dELAhUWFmrp0qXR1+nj+Fi4cKE8Ho8eeuih6HP0tTW+973vyePxxDxGjRoVfb3X97NxgZKSEhMIBMxvfvMbs2vXLnP//febzMxMc+zYsUQ3rVd64403zL/927+Zl156yUgyS5YsiXl94cKFJiMjw7z88svm3XffNZ/73OfMsGHDTH19fXSZz372s2bChAlmw4YN5u233zbDhw839957b/T1qqoqk5OTY2bPnm127txpnn/+eZOSkmKefvppu37NhJsxY4Z59tlnzc6dO8327dvNHXfcYQYPHmxqa2ujy8ybN88UFBSYFStWmC1btphrr73WXHfdddHXm5ubzdixY01RUZHZtm2beeONN0x2drZZsGBBdJmPP/7YpKammocfftjs3r3bPPHEE8bn85lly5bZ+vsmyquvvmpef/1188EHH5iysjLzne98xyQlJZmdO3caY+jjeNi0aZMZOnSoGT9+vHnwwQejz9PX1njsscfMmDFjzNGjR6OP48ePR1/v7f3simAxdepUM3/+/OjP4XDY5OXlmeLi4gS2yhk6B4tIJGJyc3PNT37yk+hzZ86cMcFg0Dz//PPGGGN2795tJJnNmzdHl1m6dKnxeDzm8OHDxhhjfvWrX5msrCwTCoWiy3z72982I0eOjPNv1HtVVlYaSWbNmjXGmJZ+TUpKMi+++GJ0mT179hhJZv369caYlhDo9XpNRUVFdJlFixaZ9PT0aN/+67/+qxkzZkzMd91zzz1mxowZ8f6Veq2srCzzzDPP0MdxUFNTY0aMGGGWL19ubr755miwoK+t89hjj5kJEyac8zUn9LPjD4U0NjaqtLRURUVF0ee8Xq+Kioq0fv36BLbMmfbt26eKioqY/szIyNC0adOi/bl+/XplZmZqypQp0WWKiork9Xq1cePG6DI33XSTAoFAdJkZM2aorKxMp0+ftum36V2qqqokSf369ZMklZaWqqmpKaavR40apcGDB8f09bhx45STkxNdZsaMGaqurtauXbuiy3T8jLZlLsf6D4fDKikpUV1dnQoLC+njOJg/f75mzZrVpT/oa2t9+OGHysvL05VXXqnZs2fr4MGDkpzRz44PFidOnFA4HI7pQEnKyclRRUVFglrlXG19dqH+rKio0IABA2Je9/v96tevX8wy5/qMjt9xOYlEInrooYd0/fXXa+zYsZJa+iEQCCgzMzNm2c59/Un9eL5lqqurVV9fH49fp9fZsWOH+vbtq2AwqHnz5mnJkiUaPXo0fWyxkpISbd26VcXFxV1eo6+tM23aNC1evFjLli3TokWLtG/fPt14442qqalxRD/bfndT4HI0f/587dy5U+vWrUt0U1xp5MiR2r59u6qqqvTHP/5Rc+bM0Zo1axLdLFcpLy/Xgw8+qOXLlys5OTnRzXG1mTNnRv9//PjxmjZtmoYMGaI//OEPSklJSWDLLo7jRyyys7Pl8/m6zIg9duyYcnNzE9Qq52rrswv1Z25uriorK2Neb25u1qlTp2KWOddndPyOy8UDDzyg1157TatWrVJ+fn70+dzcXDU2NurMmTMxy3fu60/qx/Mtk56e7oiVkBUCgYCGDx+uyZMnq7i4WBMmTNDjjz9OH1uotLRUlZWVmjRpkvx+v/x+v9asWaNf/OIX8vv9ysnJoa/jJDMzU1dffbX27t3riJp2fLAIBAKaPHmyVqxYEX0uEoloxYoVKiwsTGDLnGnYsGHKzc2N6c/q6mpt3Lgx2p+FhYU6c+aMSktLo8usXLlSkUhE06ZNiy6zdu1aNTU1RZdZvny5Ro4cqaysLJt+m8QyxuiBBx7QkiVLtHLlSg0bNizm9cmTJyspKSmmr8vKynTw4MGYvt6xY0dMkFu+fLnS09M1evTo6DIdP6Ntmcu5/iORiEKhEH1soenTp2vHjh3avn179DFlyhTNnj07+v/0dXzU1tbqo48+0sCBA51R05c8/bMXKCkpMcFg0CxevNjs3r3bfPWrXzWZmZkxM2LRrqamxmzbts1s27bNSDI/+9nPzLZt28yBAweMMS2nm2ZmZppXXnnFvPfee+auu+465+mmn/70p83GjRvNunXrzIgRI2JONz1z5ozJyckxX/rSl8zOnTtNSUmJSU1NvaxON/3a175mMjIyzOrVq2NOGzt79mx0mXnz5pnBgweblStXmi1btpjCwkJTWFgYfb3ttLHbb7/dbN++3Sxbtsz079//nKeNfetb3zJ79uwxTz755GV1et4jjzxi1qxZY/bt22fee+8988gjjxiPx2PeeustYwx9HE8dzwoxhr62yje/+U2zevVqs2/fPvPOO++YoqIik52dbSorK40xvb+fXREsjDHmiSeeMIMHDzaBQMBMnTrVbNiwIdFN6rVWrVplJHV5zJkzxxjTcsrpd7/7XZOTk2OCwaCZPn26KSsri/mMkydPmnvvvdf07dvXpKenm7lz55qampqYZd59911zww03mGAwaAYNGmQWLlxo16/YK5yrjyWZZ599NrpMfX29+frXv26ysrJMamqq+fznP2+OHj0a8zn79+83M2fONCkpKSY7O9t885vfNE1NTTHLrFq1ykycONEEAgFz5ZVXxnyH233lK18xQ4YMMYFAwPTv399Mnz49GiqMoY/jqXOwoK+tcc8995iBAweaQCBgBg0aZO655x6zd+/e6Ou9vZ+5bToAALCM4+dYAACA3oNgAQAALEOwAAAAliFYAAAAyxAsAACAZQgWAADAMgQLAABgGYIFAACwDMECAABYhmABAAAsQ7AAAACWIVgAAADL/H+kx9h2QML3vgAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "psl.pwm_generator.set_state(sq2=0) # Turn off SQ2.\n",
    "psl.pwm_generator.generate(channels=\"SQ1\", frequency=500, duty_cycles=0.5)\n",
    "x, y = psl.oscilloscope.capture(channels=\"CH1\", samples=10000, timegap=0.5)\n",
    "plt.plot(x, y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "f33f3c88-cead-4f7e-962e-24135c456604",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7fa93cf92690>]"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "psl.pwm_generator.generate(channels=\"SQ1\", frequency=5000, duty_cycles=0.5)\n",
    "x, y = psl.oscilloscope.capture(channels=\"CH1\", samples=1000, timegap=0.5)\n",
    "plt.plot(x, y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "53452226-1630-4368-a141-5e9d3ce468cf",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7fa93c30c090>]"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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qtWqFItF7rNGV155pbzwwguyffv25Oviiy+WG2+8Mflv7rU5Q0ND8sYbb8j8+fPtj2vt5aAObNiwQeXzebV+/Xr18ssvqz/8wz9UM2bMUPv373d9aV4bHBxUzz33nHruueeUiKhvfOMb6rnnnlO7d+9WSil1xx13qBkzZqgHH3xQPf/88+q6665TS5cuVcePH3d85f75whe+oHp6etTmzZvVvn37kq9jx44l3/P5z39eLVq0SD366KPqmWeeUatWrVKrVq1yeNV++vKXv6y2bNmidu7cqZ5//nn15S9/WUVRpH72s58ppbjPJtXvClGKe63Tn/zJn6jNmzernTt3ql/96ldq9erVavbs2ergwYNKKbv3uiUCC6WU+va3v60WLVqkcrmcuvTSS9WTTz7p+pK899hjjykRec/XTTfdpJQa23L6la98Rc2dO1fl83l15ZVXqtdee83tRXvq/e6ziKjvf//7yfccP35c/fEf/7GaOXOm6uzsVJ/85CfVvn373F20pz772c+qxYsXq1wup04//XR15ZVXJkGFUtxnk94dWHCv9bnhhhvU/PnzVS6XU2eccYa64YYb1I4dO5Jft3mvOTYdAABo432NBQAASA8CCwAAoA2BBQAA0IbAAgAAaENgAQAAtCGwAAAA2hBYAAAAbQgsAACANgQWAABAGwILAACgDYEFAADQhsACAABo8/8AzMTPBwaKEW8AAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "psl.pwm_generator.generate(channels=\"SQ1\", frequency=50_000, duty_cycles=0.5)\n",
    "x, y = psl.oscilloscope.capture(channels=\"CH1\", samples=100, timegap=0.5)\n",
    "plt.plot(x, y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "1affe262-1095-4cae-a955-b8ec232ff49e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7fa93c3805d0>]"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "psl.pwm_generator.generate(channels=\"SQ1\", frequency=500_000, duty_cycles=0.5)\n",
    "x, y = psl.oscilloscope.capture(channels=\"CH1\", samples=10, timegap=0.5)\n",
    "plt.plot(x, y)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ad3143b3-9469-426e-b00b-57519d4bc33b",
   "metadata": {},
   "source": [
    "Next, we'll take a look a better way to look at digital signals using the PSLab's logic analyzer."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
